Programming language standards often change as programming languages evolve. Although the evolution of a particular programming language may provide significant benefits to a user community, through improved ease of use and greater functionality, for example, the changes to the language may also present problems of incompatibility between earlier developed software and latter-developed software, where the latter-developed software has been written using a newer version of the language. These incompatibility problems can cause existing software code to be unusable or of limited use in developing new applications.
In such situations, pre-existing software code can be re-written or modified to be compatible with newer versions of a programming language. The modified code can then be reused in the new applications. However, this approach of re-writing existing code is often expensive and time consuming. In order to improve software development productivity, an alternative approach to software reuse is needed.
An example of an evolving programming language is Java™, developed by Sun Microsystems, Inc. Java™ is a popular object-oriented programming language. The Java 2 Enterprise Edition (J2EE) standards are evolving quickly, and therefore, there is a need for a technique to conveniently migrate existing Java™ code from older implementations to support the new language specifications.